Image processing method and apparatus, and storage medium therefore

ABSTRACT

Disclosed is an image processing method. According to the present invention, the image processing method, whereby a multi-value bit map development area, in which is stored a multi-value bit map that represents an output image, and a plurality of pattern planes, each of which corresponds to an attribute of an object, are employed to develop a drawing command and to perform a color process, comprises the steps of developing a multi-bit map in the multi-value bit map development area in accordance with a drawing command, determining an attribute for an object by using the drawing command, developing the bit map, which is consonant with the drawing command, in one of the pattern planes that corresponds to the attribute of the object, and controlling a color process for the multi-value bit map in accordance with the bit maps developed in the pattern planes.

RELATED APPLICATION

This application is a divisional of application Ser. No. 09/571,153,filed May 16, 2000, now U.S. Pat. No. 6,853,465 the entire contents ofwhich are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing method and anapparatus for developing a drawing command and for performing a colorprocess corresponding to the attribute of an object, and to a storagemedium therefor.

2. Related Background Art

Conventionally, upon receiving a drawing command from an OS, a driverdevelops bits in a multi-value bit map area, and after all the drawingcommands have been processed, performs a color process, such as colorcorrection, color conversion or binarization (an n-valuetransformation), for the multi-value bit map area. Therefore, a colorprocess for each object can not be performed.

Further, conventionally, there is a driver that has a unique logicalcalculation function. This driver performs a color process, such ascolor correction, color conversion or binarization (an n-valuetransformation), and then, to perform a color process for each object,writes density data directly to a device.

Although a conventional driver, which can perform a color process foreach object, has a unique logical calculation function, when UCR (UnderColor Removal) is employed to perform a logical calculation, theresultant output is incorrect. And even when, to avoid this, the UCR isinvalidated, a preferable output can not be obtained.

Since, however, the capabilities of printers have been improved, thereprinters whose minimum output units are multi-values. But since to copewith neutral tints a conventional driver that performs a color processfor each object must prepare a brush object for each drawing command, aload is imposed on the n-value portion of the brush for the preparationof multi-value data, so that a drastic deterioration of the processingspeed occurs.

SUMMARY OF THE INVENTION

To resolve the above shortcoming, it is one objective of the presentinvention to provide an image processing method and apparatus, and astorage medium therefor.

It is another objective of the present invention to very preciselydetermine the attribute of an object.

To achieve these objectives, according to the present invention, animage processing method for executing a development process of drawingcommand and a color process by using a multi-value bit map developmentarea in which a multi-value bit map representing an output image isstored and a plurality of pattern planes each corresponding to anattribute of an object, the method comprises the steps of:

developing a multi-bit map in the multi-value bit map development areain accordance with a drawing command;

determining an attribute for an object by using the drawing command;

developing the bit map corresponding to the drawing command, in thepattern plane corresponding to the attribute of the object; and

controlling a color process for the multi-value bit map in accordancewith the bit maps of the pattern planes.

Further, according to the image processing method of the presentinvention, to achieve the above objectives for a black graphic object, abit map is developed for the pattern planes for the text, the image andthe graphic object.

Other features and advantages of the invention will become apparent inthe course of the following description, given while referring to theaccompanying drawings, throughout which the same reference charactersare employed to designate like or similar parts.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example arrangement for aninformation processing system;

FIG. 2 is a conceptual diagram showing a process during which data,which is associated with an image processing control program and whichis stored in the storage device of a medium reading unit, is read by acentral processing unit and a print command is input by an input unitfor the transmission of data to a printer;

FIG. 3 is a diagram showing the processing contents held by the driverin FIG. 2;

FIG. 4 is a diagram showing a multi-value bit map and pattern planes;

FIG. 5 is a diagram showing multi-value bit maps and pattern plane dataforms;

FIG. 6 is a diagram showing a process for scanning a pattern plane toextract bits for a multi-value bit map, for performing a colorconversion and binarization process for each object, and for preparing adevice bit map using the multi-value bit map;

FIG. 7 is a conceptual diagram showing a process whereby a bit map isdrawn in a multi-value bit map through a logical calculation performedfor a black masking process;

FIG. 8 is a conceptual diagram showing a process whereby a bit map isdrawn in a multi-value bit map through a logical calculation performedfor a black masking process;

FIG. 9 is a conceptual diagram showing a process whereby a bit map isdrawn in a multi-value bit map through a logical calculation performedfor a black masking process;

FIG. 10 is a conceptual diagram showing a process whereby a bit map isdrawn in a multi-value bit map through a logical calculation performedfor a black masking process;

FIG. 11 is a conceptual diagram showing a process whereby a bit map isdrawn in a multi-value bit map through a logical calculation performedfor a black masking process;

FIG. 12 is a conceptual diagram showing a process whereby a bit map isdrawn in pattern planes to determine an object through a logicalcalculation performed for a black masking process;

FIG. 13 is a conceptual diagram showing a process whereby a bit map isdrawn in pattern planes to determine an object through a logicalcalculation performed for a black masking process;

FIG. 14 is a conceptual diagram showing a process whereby a bit map isdrawn in pattern planes to determine an object through a logicalcalculation performed for a black masking process;

FIG. 15 is a conceptual diagram showing a process whereby a bit map isdrawn in pattern planes to determine an object through a logicalcalculation performed for a black masking process;

FIG. 16 is a conceptual diagram showing a process whereby a bit map isdrawn in pattern plane to determine an object through a logicalcalculation performed for a black masking process;

FIG. 17 is a diagram showing the results of a process, which employs theresults obtained for pattern planes, to determine coordinates at whichdata for a multi-value bit map constitutes a target for the colorprocess for each object;

FIG. 18 is a diagram showing the state wherein the image processingcontrol program and associated data are loaded into a computer via anFD;

FIG. 19 is a diagram showing a memory map of an FD on which the imageprocessing control program is stored;

FIG. 20 is a diagram showing a memory map wherein an image processingcontrol program stored on an FD is loaded from an auxiliary storagedevice, via a medium reading unit, to a main storage device;

FIG. 21 is a flowchart showing the image processing method according toa first embodiment of the present invention;

FIG. 22 is a flowchart showing the image processing method according tothe first embodiment;

FIG. 23 is a diagram showing an example drawing command;

FIG. 24 is a diagram for explaining a change in a pattern plane when thedrawing command in FIG. 23 is processed while black data are reflectedthereon;

FIG. 25 is a diagram for explaining a change in a pattern plane when thedrawing command in FIG. 23 is processed while black data are notreflected thereon;

FIG. 26 is a flowchart showing the image processing according to asecond embodiment of the present invention;

FIG. 27 is a diagram showing the process for scanning a pattern plane,and for preparing a device bit map from a multi-value bit map; and

FIG. 28 is a diagram for explaining the structure of a table in whichcoordinate sets are stored.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the present invention will now be describedin detail while referring to the accompanying drawings.

(Embodiment 1)

FIG. 1 is a block diagram illustrating an example arrangement for aninformation processing system for which an image processing/printingmethod according to a first embodiment of the present invention isemployed.

A central processing unit 1 employs a system program and an applicationprogram to process image data entered by an input unit 4, and outputsthe resultant data to an output unit 5 or to a printer 7. It should benoted that the system program and the application program are loadedinto a main storage unit 2 via an auxiliary storage unit 3 from a mediumreading unit 6, for which a storage medium, such as an FD, a. CD-ROM oran IC memory card on which an image processing control program (driver)and associated data are stored, is connected to the system. In thisembodiment, the output unit 5 is a display device, which is differentfrom the printer 7.

The input unit 4 is a keyboard or a pointing device. The auxiliarystorage unit 3 may be a hard disk or a magneto-optical disk, or may be acombination of these media. The individual devices may be connectedtogether across a network.

FIG. 2 is a conceptual diagram showing the process during which theimage processing control program and the associated data, which arestored in the storage device of the medium reading unit 6, are read bythe central processing unit 1, and a print command is entered by theinput unit 4 to initiate the transmission of data to the printer 7. Boththe application and the driver function under the control of an OS.

FIG. 3 is a diagram for explaining the processing performed by thedriver in FIG. 2. When a drawing command is received from the OS, colorcorrection is performed for multi-value color data that are included inthe drawing command. The obtained color data are then used to performthe development process, and a multi-value bit map image is generated.At the same time as the color data are being developed to generate thebit map, the attribute of a drawing command is identified, and a flagbit is set for a pattern plane that corresponds to the attribute.

Then, while referring to the pattern plane, color conversion, which isconsonant with the attribute of an object, is performed for the obtainedmulti-value bit map, and the resultant bit map is binarized (n-valued)to obtain a device bit map. When the processing has been completed forthe overall image, the device bit map is transmitted to the printer.Color correction may be performed either before or after the color datahave been used to generate the bit map.

In this embodiment, assuming that a graphic plane is red, a text planeis green and an image plane is blue, the three bit RGB developmentfunction is employed to perform the writing of data to the individualplanes. During the initialization process, white data are written to themulti-value bit map and to all the pattern planes.

FIG. 4 is a diagram for explaining an ideal pattern plane that isgenerated for each object when data are developed to produce amulti-value bit map. In each pattern plane, bits are set only for anobject having the same attribute at the same coordinates as in themulti-value bit map.

FIG. 5 is a diagram in which a simple data form is used to illustratethe idea in FIG. 4.

When an object to be drawn is an image, the object is developed into amulti-value bit map (5-1), and at the same time, bits that correspond tothe object are set in an area in the image pattern plane (5-2).

Similarly, when an object to be drawn is a graphic figure, the object isdeveloped into a multi-value bit map (5-3), and at the same time, bitsthat correspond to the object are set in an area in the graphics patternplane (5-4).

The same process is performed for a text object.

FIG. 6 is a diagram showing a method for scanning an obtained patternplane to perform a color process for each object.

One line of a pattern plane (a graphics plane in this example) isscanned to obtain the coordinates of a bit. Based on the coordinates,for the multi-value bit map pertinent color data are extracted, andcolor conversion and binarization are performed. Then, the logical sumof the results and the pertinent coordinates for a device bit map arecalculated and stored.

An explanation will now be given, while referring to FIGS. 7 to 16, fora process for drawing a multi-value bit map in accordance with aspecific drawing command, and a process for preparing a pattern planefor each attribute.

First, an explanation will be given, while referring to FIGS. 7 to 11,for a change in the status of a multi-value bit map upon the receipt ofa drawing command.

By performing a logical calculation SRCCOPY, a rectangular image object(having an arbitrary color) is drawn in an initialized multi-value bitmap (FIG. 7).

At the destination whereat the above rectangular image object (having anarbitrary color) is drawn by performing the logical calculation SRCCOPY,a rectangular bit map (FIG. 8) containing a graphics object, a blackcircle, is drawn by performing a logical calculation SRCAND (FIG. 9).Further, a rectangular bit map (FIG. 10) containing a graphics object, ablue circle with a black background, is drawn by performing a logicalcalculation SRCPAINT (FIG. 11).

In this case, the logical calculation SRCCOPY is a command for a processfor writing a source (a rectangular image in FIG. 7) to a destination(an initialized multi-value bit map in FIG. 7). The logical calculationSRCAND is a command to perform an AND process for the source and thedestination. And the logical calculation SRCPAINT is a command toperform an OR process for the source and the destination.

FIGS. 12 to 16 are diagrams for explaining a change in the status of apattern plane for each attribute upon the receipt of the above drawingcommand.

A rectangular image object (having an arbitrary color) is drawn in aninitialized pattern plane by performing the logical calculation SRCCOPY(FIG. 12).

At the destination (FIG. 12) whereat the above rectangular image object(having an arbitrary color) is drawn by performing the logicalcalculation SRCCOPY, a rectangular bit map (FIG. 13) containing agraphics object, a black circle, is drawn by performing the logicalcalculation SRCAND (FIG. 14). Further, a rectangular bit map (FIG. 15)containing a graphics object, a blue circle with a black background, isdrawn by performing the logical calculation SRCPAINT (FIG. 16).

In this embodiment, for the black graphics object Os are written to allthe image, text and graphics pattern planes. In other words, since R, G,B=0, black is written.

FIG. 17 is a diagram showing a method for using the arrangement of bitsto obtain the coordinates of each object on a multi-bit map. That is, inFIG. 17 a method is shown for obtaining data 5-1 or 5-2 in FIG. 5.

Based on pattern planes prepared in response to a drawing command, i.e.,a pattern plane for each object in FIG. 16, a logical product isobtained for the pattern planes of all the objects (17-1), and a logicalsum is obtained for the logical product of the text and the imagepattern planes, and the pattern plane of the graphics object (17-2).

In accordance with 17-1 and 17-2, the coordinates are calculated foreach object on a multi-value bit map.

The image printing method, which is programmed in accordance with theimage processing method flowcharts shown in FIGS. 21 and 22, will now bedescribed while referring to the flowcharts in FIGS. 21 and 22.

When a print command is entered by the input device, of the OS, thedriver and the application (FIG. 2) that are read from the auxiliarystorage unit to the main storage unit, the OS receives the command.Thereafter, the OS transmits the print execution message to theapplication that is currently active.

The application converts the received message into a command that the OScan recognize, and transmits print data and the command message.Subsequently, the OS converts the data into a command that the drivercan recognize, and transmits the message to the driver.

Upon receiving the initialization message, the driver allocates apattern plane area to be used for the determination of an object and asa temporary storage area for a multi-value bit map, and erases thecontents of these areas (21-0).

In accordance with the drawing command received from the OS, the driverdevelops the data to develop a multi-value bit map (21-1). Further, thedriver determines whether the output destination of the drawing commandis a temporary area or a multi-bit map area prepared as a device (21-2).When the output destination is a device, an object is determined byexamining the drawing command (21-3), in which a color is designated foreach object. For a graphics object, while black data are maintained, abit is set in the pattern plane by using a 3-plane 1-bit driver (21-4).When all the drawing commands have been processed (21-5), one line of apattern plane for each object is extracted (21-6), and the logicalproject is obtained for all the object patterns (17-1) (21-7).Thereafter, the logical product of the text and image planes isobtained, and the logical sum of that logical product and the graphicsobject is calculated (17-2) (21-8). Then, the logical product of all theobject pattern planes, which was previously obtained, is scanned (21-9).When a 0 bit is found (21-10), a check is performed to determine whethera bit is set at the pertinent coordinates for the logical sum obtainedfor the graphics plane and the logical product of the text and imageplanes. In addition, a check is performed to determine whether all thepatterns are 0 (21-11). When the bit is set, or if all the patterns are0, data at the pertinent coordinates in the multi-value bit map arecopied to a graphics buffer 21-12). If at step 21-11 a bit is not set, acheck is performed to determine whether a bit is set at the pertinentcoordinates in the image plane (21-13). If the bit is set, data at thepertinent coordinates in the multi-value bit map are copied to an imagebuffer (21-14). But if at step 21-13 the bit is not set, the data at thepertinent coordinates in the multi-value bit map are copied to a textbuffer (21-15). When the processing for one line has been completed(21-16), the optimal color correction, color conversion and binarization(n-valued) processes are performed for the object in each buffer(21-17). Then, the logical sum of the results of the color process isobtained (21-18), and data for one line are transmitted to the printer(21-19). When the data for all the lines has been processed, theprocessing is terminated (21-10).

The processing performed from 21-11 to 21-15 corresponds to theprocessing from 17-4 to 17-6, in FIG. 17, for creating objects. Thereason a determination is made at step 21-11 to ascertain whether allthe patterns are 0 is that, as is shown in FIG. 13, 0s are written inall the patterns for the black graphics object.

According to this embodiment, an object consonant with the logicalcalculation can be precisely determined, and since the optimal colorprocess is performed for each object, a high quality output can beacquired.

An explanation will now be given, while referring to FIGS. 23 to 25, ofthe effects obtained by the embodiment for determining the attribute ofan object, while the black graphics object is reflected thereon.

First, an explanation will be given by using a drawing command for amulti-value bit map in FIG. 23 in which an image and gradation arecombined.

The drawing command includes three steps: copying an image bit map (A)(step 1); drawing a mask bit map (B) in accordance with a logicalproduct (step 2); and obtaining a logical sum of the results and agradation bit map (C) for which the background is black (step 3).

Step 1 corresponds to FIGS. 1 and 12; step 2 corresponds to FIGS. 8 and9 and FIGS. 13 and 14; and step 3 corresponds to FIGS. 10 and 11 andFIGS. 15 and 16.

In order to precisely determine the attribute of the object in thisimage, it is important that the area of the graphics be accuratelyidentified. Generally, for this the driver performs the drawing processfor each rectangle. This is because the management of coordinates iseasier for the performance of the fast drawing process.

FIG. 24 is a diagram showing the processing results obtained when blackdata in FIG. 23 are reflected onto the bit map.

At steps 1 to 3, the change of a pattern plane in a pick-up portion inFIG. 24 is shown. In FIG. 24, at step 2 the data for an image plane in acircular area can be canceled by a mask bit map (i.e., the data can be0s). At step 3, the graphics data can be defined only in the circulararea (i.e., the data can be 1s). As for the black background area, thelogical sum of 0 and the data for each plane prepared at step 2 isobtained; however, the data are not substantially changed. Therefore, itcan be accurately determined that the circular area is a graphic image.

FIG. 25 is a diagram showing the processing results obtained when blackdata are not reflected onto the bit map.

The same processing as in FIG. 24 can be performed up to step 2.However, at step 3, since black data are not reflected, as is shown in(C) in FIG. 24, the rectangular area is determined to be graphics data.Therefore, the rectangular area, rather than the circular area thatoriginally was determined to be an image area, is determined to be agraphic image.

When the black data are reflected (FIG. 24) in the above describedmanner, the object determination can be performed normally. However,when the object is being processed by using a color allocated for theobject while black data are not reflected (FIG. 25), the bits of theimage plane and the bits of the graphics object are set, so that theobject determination can not be performed normally.

In the optimal color process for each object, for example, a coefficientfor color conversion, and the size of a dither matrix for binarizationand a threshold value are consonant with the attribute of an object. Thesize of an n-valued dither matrix, a threshold value and the number ofsheets may be consonant with the attribute of an object.

In addition, a multi-value output can be easily coped with, and thenumber of development procedures can be reduced in the future.

FIG. 18 is a diagram showing the state when an FD is used to load theimage processing control program and the associated into a computer.When the FD is inserted into the medium reading unit, the imageprocessing control program and the associated data are read from the FDunder the control of the OS and the basic I/O program, and are loadedinto the main storage unit so that the operation can be initiated.

FIG. 19 is a diagram showing a memory map for an FD on which the imageprocessing control method program is stored.

FIG. 20 is a diagram showing a memory map when the image processingcontrol program stored on the FD is loaded, via the medium reading unit,from the auxiliary storage unit to the main storage unit.

In this embodiment, the image processing control program is read fromthe FD, via the auxiliary storage unit, and is written directly to themain storage unit. directly. However, the image processing controlprogram stored on a storage medium, such as an FD, may be saved to anauxiliary storage unit, such as an HD, and can thereafter be read to themain storage unit when it is to be executed.

In addition to an FD or an HD, a storage medium for recording the imageprocessing control program may be a magneto-optical disk, a CD-ROM or anIC memory card. Furthermore, the image processing control program mayalso be stored in a ROM.

In the above embodiment, a binding printer or a no-binding printer canbe employed. Further, although normally data for individual lines aretransmitted to the printer, the data for several lines may be stored ina buffer and may be transmitted to the printer as a block. Also, thecolor correction process may be performed immediately before step 21-1,whereat color data are developed into a multi-value bit map.

In this embodiment, the RGB (Red, Green, Blue) 3-plane 1-bit driver hasbeen employed to prepare the pattern planes for processing each object.However, the CMYK (Cyan, Magenta, Yellow, Black) 4-plane 1-bit drivermay be employed.

(Embodiment 2)

The image processing according to a second embodiment will now bedescried while referring to the flowchart in FIG. 26.

First, when a command is entered by the input unit 4 to executeprinting, the OS receives its message.

The OS transmits the print execution message to the application that iscurrently active. The application converts the received message into acommand that the OS can recognize, and transmits print data and thecommand message to the OS. The OS converts the data into a command thatthe driver can recognize, and transmits the message to the driver.

Upon receiving the message for initialization, the driver allocates apattern plane area, which is used for determination of an object, and atemporary storage area for a multi-value bit map, and erases thecontents of these areas (step S26-10).

In accordance with the drawing command received from the OS, the driverdevelops the data into a multi-value bit map (step S26-11).

Further, the driver determines whether the output destination given inthe drawing command is a temporary area or whether a multi-bit map areahas been prepared as a device (step S26-12).

When the output destination is a device, a check is performed todetermine whether the logical calculation included in the drawingcommand is associated with copy (COPY) (step S26-13).

When the logical calculation is associated with copy, based on thedrawing command, the flag bit is set for the pattern plane that isprepared for each object (steps S26-14 to S26-16).

Specifically, the flag bit is set for the text plane pattern at stepS26-14, set for the graphics pattern plane at step S26-15, or set forthe image pattern plane at step S26-16.

A check is performed to determine whether all the drawing commands havebeen processed (step S26-17). When all the drawing commands have beenprocessed, the flag bit of the prepared pattern plane is scanned (stepS26-18).

When the flag bit is set, the start and end coordinates of the bit thatis set are stored in the table 70 (FIG. 28) (step S26-19).

The pertinent portion of the multi-value bit map is referred to by usingthe coordinates stored in the table 70 (step S26-20), and the colorprocess, such as color correction, color conversion or binarization(n-valued process), is performed in consonance with the attribute of theobject (step S26-21).

The data obtained by the color process are sequentially developed in thepertinent area of the device bit map (step S26-22).

A check is performed to determine whether all the pattern planes havebeen processed (step S26-23). When all the pattern planes have beenprocessed, the device bit map is transmitted to the printer 7 (stepS26-24). The image processing is thereafter terminated.

FIG. 27 is a diagram showing the method for scanning a pattern plane andfor performing a color process for each object.

In this embodiment, one line (Y coordinate 6) of an area 62 of agraphics pattern plane 41, which corresponds to graphics data 61 of amulti-value bit map, is scanned to obtain the coordinates whereat flagbits are set. In the graphics pattern plane 41, the flag bits are set inthe range extending from the coordinates (10, 6) to (14, 6).

The start point and end point of the flag bits that are obtained byscanning the coordinates are stored as coordinate data in the table.

FIG. 28 is a diagram showing the table 70 in which the coordinate setsobtained by scanning the pattern plane are stored.

For coordinate data 1 to 4, the start point is stored at the Xcoordinate and the end point is stored at the Y coordinate. For example,for the graphics pattern plane 41 in FIG. 27, the start point is at thecoordinates (10, 6) while the end point is at the coordinates (14, 6).

Following this, as is shown in FIG. 27, pertinent color data for themulti-value bit map are extracted based on the coordinate data in thetable 70, and a color conversion and binarization (n-valued) process isperformed for the color data in consonance with the attribute of theobject. The results are stored at the coordinates in a pertinent area 63on the device bit map 45.

In this embodiment, a binding printer or a non-binding printer can beused as the printer 7.

The color correction process may be performed immediately before stepS26-11, whereat the data are developed into a multi-value bit map.

The process for each object is performed for three types: text, graphicsor pattern. However, when the number of pattern planes is changed, thenumber of the processes for the individual objects can also be changed.

The process for developing a multo-value bit map into a device bit map(step S26-22) may be performed either when the coordinate data have beenstored in the table 70 and all the data for one line has been scanned,or when all the bits on one pattern plane have been arranged.

In the second embodiment as well as in the first embodiment, the programfor executing the image processing in FIG. 26 is loaded into the mainstorage unit. The program may be also recorded on an FD, an HD, a CD-ROMor an IC memory card.

The present invention may be applied to a system constituted by aplurality of apparatuses or to a single apparatus.

The following system or apparatus is also included within the scope ofthe present invention for the implementation of the aforementionedobjectives of the present invention: software program code, forimplementing the functions of the above embodiments, is loaded into acomputer (a CPU or an MPU) in an apparatus or in a system that isconnected to and that activates various devices, and the program code isread by the computer in the system or the apparatus.

In this case, the software program code accomplishes the functions ofthe above described embodiments and of the program code itself, andmeans for supplying the program code to the computer, e.g., a storagemedium on which such program code is recorded, constitute the presentinvention.

A storage medium for supplying such program code can be, for example, afloppy disk, a hard disk, an optical disk, a magneto-optical disk, aCD-ROM, a magnetic tape, a nonvolatile memory card, or a ROM.

In addition, the present invention includes not only a case wherein thefunctions in the previous embodiment can be performed when program codeis read and executed by the computer, but also a case wherein, inaccordance with an instruction in the program code, in an OS (OperatingSystem) running on the computer or in another application softwareprogram, the computer interacts with the program code to accomplish thefunctions in the above embodiments.

Furthermore, the present invention includes a case wherein program code,read from a storage medium, is written in a memory that is mounted on afunction expansion board inserted into a computer, or on a functionexpansion unit connected to a computer, and in consonance with a programcode instruction, a CPU mounted on the function expansion board or inthe function expansion unit performs one part, or all, of the actualprocessing in order to implement the functions in the above describedembodiments.

The forgoing description of the embodiments has been given forillustrative purposes only, and is not to be construed as imposing anylimitations, in any respect.

The scope of the invention is, therefore, to be determined solely by thefollowing claims; it is not limited by the text of the specifications,and alterations made that fall within the scope of the claims reflectthe true spirit and the intent of the invention.

1. A printer driver comprising: developing means for developing amulti-bit map in accordance with a drawing command; determination meansfor determining an attribute for an object based on the drawing command;developing means for developing a bit map corresponding to the drawingcommand in a pattern plane corresponding to the attribute of the object;and control means for controlling a color process to be performed on themulti-bit map in accordance with flag information, wherein the attributeof the object is text, graphics or image, wherein a logical product ofpattern planes for all the objects, a logical sum of a graphics patternplane and a logical product of text and image pattern planes areobtained, and wherein the color process is controlled based on thelogical products and the logical sum.
 2. A printer driver according toclaim 1, wherein the color process includes a color conversion processand an n-valued process.
 3. A printer driver according to claim 1,wherein, for a black graphic object, a bit map is developed for thetext, the image and the graphic pattern planes.
 4. A control method fora printer driver, comprising: a developing step of developing amulti-bit map in accordance with a drawing command; a determination stepof determining an attribute for an object based on the drawing command;a developing step of developing a bit map corresponding to the drawingcommand in a pattern plane corresponding to the attribute of the object;and a control step of controlling a color process to be performed on themulti-bit map in accordance with flag information, wherein the attributeof the object is text, graphics or image, wherein a logical product ofpattern planes for all the objects, a logical sum of a graphics patternplane and a logical product of text and image pattern planes areobtained, and wherein the color process is controlled based on thelogical products and the logical sum.
 5. A method according to claim 4,wherein the color process includes a color conversion process and ann-valued process.
 6. An image processing method according to claim 4,wherein, for a black graphic object, a bit map is developed for thetext, the image and the graphic pattern planes.